package com.cy.pj.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Update;

import com.cy.pj.sys.pojo.SysUser;
import com.cy.pj.sys.pojo.SysUserDept;

public interface SysUserDao {

	/**
	 * 修改密码
	 * @param newHashedPassword	以加密的密码
	 * @param newSalt	新的盐值
	 * @param id	登录用户id
	 * @return
	 */
	@Update("update sys_users set password=#{newHashedPassword},salt=#{newSalt},modifiedTime=now() where id=#{id}")
	int updatePassword(String newHashedPassword,String newSalt,Integer id);
	
	//登录
	SysUser findUserByUserName(String username);
	
	
	//修改用户信息
	int updateObject(SysUser entity);
	
	
	//基于用户id查询用户以及用户对应的部门信息
	SysUserDept findObjectById(Integer id);
	
	
	//基于此方法保存用户自身信息
	int insertObject(SysUser entity);
		
	
	//修改状态信息
	int valiById(Integer id,Integer valid,String modifiedUser);
	
	
	//统计总记录数
	int getRowCount(String username);
	
	//查询所有角色信息
	List<SysUserDept> findPageObjects(String username,Integer startIndex,Integer pageSize);
}
